Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Racket (programming language)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Racket_(programming_language)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Racket_programming_language rootpage-Racket_programming_language skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Racket (programming language)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">Racket</th></tr><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"></span></td></tr><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"></span><div class="infobox-caption">DrRacket on <a href="Linux" title="Linux">Linux</a></div></td></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Multi-paradigm_programming_language" class="mw-redirect" title="Multi-paradigm programming language">Multi-paradigm</a>: <a href="Functional_programming" title="Functional programming">functional</a>, <a href="Imperative_programming" title="Imperative programming">imperative</a>, <a href="Logic_programming" title="Logic programming">logic</a>, <a href="Metaprogramming" title="Metaprogramming">meta</a>, <a href="Modular_programming" title="Modular programming">modular</a>, <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented</a>, <a href="Reflective_programming" title="Reflective programming">reflective</a></td></tr><tr><th scope="row" class="infobox-label">Family</th><td class="infobox-data"><a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_design" title="Software design">Designed&nbsp;by</a></th><td class="infobox-data">PLT Inc.</td></tr><tr><th scope="row" class="infobox-label"><a href="Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser">PLT Inc.</td></tr><tr><th scope="row" class="infobox-label">First&nbsp;appeared</th><td class="infobox-data">January&nbsp;28, 1995<span style="display:none">&nbsp;(<span class="bday dtstart published updated">1995-01-28</span>)</span></td></tr><tr><td colspan="2" class="infobox-full-data"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">8.17<sup id="cite_ref-wikidata-cbcb0411e1e9303dfadf06d99938f6fb9ea6bba9-v20_1-0" class="reference"><a href="#cite_note-wikidata-cbcb0411e1e9303dfadf06d99938f6fb9ea6bba9-v20-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>&nbsp;
/ 17 May 2025<span style="display:none">&nbsp;(<span class="bday dtstart published updated">17 May 2025</span>)</span></div></td></tr><tr style="display:none"><td colspan="2">
</td></tr><tr><th scope="row" class="infobox-label"><a href="Type_system" title="Type system">Typing discipline</a></th><td class="infobox-data"><a href="Dynamic_typing" class="mw-redirect" title="Dynamic typing">Dynamic</a>, <a href="Static_typing" class="mw-redirect" title="Static typing">static</a>, <a href="Strong_and_weak_typing" title="Strong and weak typing">strong</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Computing_platform" title="Computing platform">Platform</a></th><td class="infobox-data"><a href="X86" title="X86">x86</a>, <a href="PowerPC" title="PowerPC">PowerPC</a>, <a href="SPARC" title="SPARC">SPARC</a>, <a href="MIPS_architecture" title="MIPS architecture">MIPS</a>, <a href="ARM_architecture" class="mw-redirect" title="ARM architecture">ARM</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Operating_system" title="Operating system">OS</a></th><td class="infobox-data"><a href="Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="MIT_License" title="MIT License">MIT</a> or <a href="Apache_License_2.0" class="mw-redirect" title="Apache License 2.0">Apache 2.0</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label"><a href="Filename_extension" title="Filename extension">Filename extensions</a></th><td class="infobox-data">.rkt<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://racket-lang.org/">racket-lang<wbr>.org</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Major <a href="Programming_language_implementation" title="Programming language implementation">implementations</a></th></tr><tr><td colspan="2" class="infobox-full-data"><a rel="nofollow" class="external text" href="https://docs.racket-lang.org/reference/implementations.html">Racket</a>, <a rel="nofollow" class="external text" href="https://docs.racket-lang.org/racketscript/index.html">RacketScript</a> Racket to JavaScript (ES6) compiler, <a rel="nofollow" class="external text" href="https://github.com/pycket/pycket">Pycket</a> a Racket implementation using <a rel="nofollow" class="external text" href="https://pypi.org/project/rpython/">RPython</a>.</td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;"><a href="Programming_language#Dialects,_flavors_and_implementations" title="Programming language">Dialects</a></th></tr><tr><td colspan="2" class="infobox-full-data">Typed Racket, FrTime, Lazy Racket, Scribble</td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="Eiffel_(programming_language)" title="Eiffel (programming language)">Eiffel</a>,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> <a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="Clojure" title="Clojure">Clojure</a>,<sup id="cite_ref-typed-clojure-thesis_5-0" class="reference"><a href="#cite_note-typed-clojure-thesis-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> <a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>,<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> <a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme (R6RS)</a><sup id="cite_ref-r6rs_8-0" class="reference"><a href="#cite_note-r6rs-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></td></tr></tbody></table>
<p><b>Racket</b> is a <a href="General-purpose_programming_language" title="General-purpose programming language">general-purpose</a>, <a href="Multi-paradigm_programming_language" class="mw-redirect" title="Multi-paradigm programming language">multi-paradigm programming language</a>. The Racket language is a modern dialect of <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a> and a descendant of <a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>. It is designed as a platform for <a href="Programming_language_theory" title="Programming language theory">programming language design</a> and implementation.<sup id="cite_ref-manifesto_9-0" class="reference"><a href="#cite_note-manifesto-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> In addition to the core Racket language, <i>Racket</i> is also used to refer to the family of programming languages<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> and set of tools supporting development on and with Racket.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Racket is also used for <a href="Script_(computing)" class="mw-redirect" title="Script (computing)">scripting</a>, <a href="Computer_science" title="Computer science">computer science</a> education, and research.
</p><p>The Racket platform provides an implementation of the Racket language (including a <a href="Runtime_system" title="Runtime system">runtime system</a>,<sup id="cite_ref-mred_12-0" class="reference"><a href="#cite_note-mred-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> libraries, and <a href="Compiler" title="Compiler">compiler</a> supporting several compilation modes: machine code, machine-independent, interpreted, and JIT) along with the DrRacket <a href="Integrated_development_environment" title="Integrated development environment">integrated development environment</a> (IDE) written in Racket.<sup id="cite_ref-drscheme_13-0" class="reference"><a href="#cite_note-drscheme-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> Racket is used by the <a href="ProgramByDesign" title="ProgramByDesign">ProgramByDesign</a> outreach program, which aims to turn <a href="Computer_science" title="Computer science">computer science</a> into "an indispensable part of the <a href="Liberal_arts" class="mw-redirect" title="Liberal arts">liberal arts</a> <a href="Curriculum" title="Curriculum">curriculum</a>".<sup id="cite_ref-teachscheme_14-0" class="reference"><a href="#cite_note-teachscheme-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
</p><p>The core Racket language is known for its extensive <a href="Macro_(computer_science)" title="Macro (computer science)">macro</a> system which enables creating embedded and <a href="Domain-specific_language" title="Domain-specific language">domain-specific languages</a>, language constructs such as <a href="Class_(computer_programming)" title="Class (computer programming)">classes</a> or <a href="Modular_programming" title="Modular programming">modules</a>, and separate dialects of Racket with different <a href="Semantics_of_programming_languages" class="mw-redirect" title="Semantics of programming languages">semantics</a>.<sup id="cite_ref-scheme-with-classes_16-0" class="reference"><a href="#cite_note-scheme-with-classes-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-units_17-0" class="reference"><a href="#cite_note-units-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-languages-as-libraries_18-0" class="reference"><a href="#cite_note-languages-as-libraries-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>
</p><p>The platform distribution is <a href="Free_and_open-source_software" title="Free and open-source software">free and open-source software</a> distributed under the <a href="Apache_License" title="Apache License">Apache 2.0</a> and <a href="MIT_license" class="mw-redirect" title="MIT license">MIT licenses</a>.<sup id="cite_ref-racket-lgpl-license_20-0" class="reference"><a href="#cite_note-racket-lgpl-license-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> Extensions and packages written by the community may be uploaded to Racket's <a href="Package_manager" title="Package manager">package catalog</a>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Development">Development</h3></div>
<p><a href="Matthias_Felleisen" title="Matthias Felleisen">Matthias Felleisen</a> founded PLT Inc. in the mid 1990s, first as a research group, soon after as a project dedicated to producing <a href="Pedagogic" class="mw-redirect" title="Pedagogic">pedagogic</a> materials for novice programmers (lectures, exercises/projects, software). In January 1995, the group decided to develop a pedagogic programming environment based on <a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>. <a href="Matthew_Flatt" title="Matthew Flatt">Matthew Flatt</a> cobbled together MrEd, the original <a href="Virtual_machine" title="Virtual machine">virtual machine</a> for Racket, from libscheme,<sup id="cite_ref-libscheme_21-0" class="reference"><a href="#cite_note-libscheme-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> <a href="WxWidgets" title="WxWidgets">wxWidgets</a>, and a few other free systems.<sup id="cite_ref-gui-rebuild_22-0" class="reference"><a href="#cite_note-gui-rebuild-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> In the years that followed, a team including Flatt, <a href="Robert_Bruce_Findler" title="Robert Bruce Findler">Robby Findler</a>, <a href="Shriram_Krishnamurthi" title="Shriram Krishnamurthi">Shriram Krishnamurthi</a>, Cormac Flanagan, and many others produced DrScheme, a programming environment for novice Scheme programmers and a research environment for <a href="Type_system#Combining_static_and_dynamic_type_checking" title="Type system">gradual typing</a>.<sup id="cite_ref-drscheme_13-1" class="reference"><a href="#cite_note-drscheme-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> The main development language that DrScheme supported was named PLT Scheme.
</p><p>In parallel, the team began conducting workshops for high school teachers, training them in program design and functional programming. Field tests with these teachers and their students provided essential clues for directing the development.
</p><p>Over the following years, PLT added teaching languages, an algebraic stepper,<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> a transparent <a href="Read%E2%80%93eval%E2%80%93print_loop" title="Read–eval–print loop">read–eval–print loop</a>, a constructor-based printer, and many other innovations to DrScheme, producing an application-quality pedagogic program development environment. By 2001, the core team (Felleisen, Findler, Flatt, Krishnamurthi) had also written and published their first textbook, <i><a href="How_to_Design_Programs" title="How to Design Programs">How to Design Programs</a></i>, based on their teaching philosophy.
</p><p><i>The Racket Manifesto</i><sup id="cite_ref-manifesto_9-1" class="reference"><a href="#cite_note-manifesto-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> details the principles driving the development of Racket, presents the evaluation framework behind the design process, and details opportunities for future improvements.
</p>
<div class="mw-heading mw-heading3"><h3 id="Version_history">Version history</h3></div>
<p>The first generation of PLT Scheme revisions introduced features for <a href="Programming_in_the_large_and_programming_in_the_small#Programming_in_the_large" title="Programming in the large and programming in the small">programming in the large</a> with both <a href="Modular_programming" title="Modular programming">modules</a> and <a href="Class_(computer_programming)" title="Class (computer programming)">classes</a>. Version 42 introduced units – a first-class module system – to complement classes for large scale development.<sup id="cite_ref-release-notes_24-0" class="reference"><a href="#cite_note-release-notes-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> The class system gained features (e.g. <a href="Java_(programming_language)" title="Java (programming language)">Java</a>-style <a href="Protocol_(object-oriented_programming)" class="mw-redirect" title="Protocol (object-oriented programming)">interfaces</a>) and also lost several features (e.g. <a href="Multiple_inheritance" title="Multiple inheritance">multiple inheritance</a>) throughout these versions.<sup id="cite_ref-scheme-with-classes_16-1" class="reference"><a href="#cite_note-scheme-with-classes-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> The language evolved throughout a number of successive versions, and gaining milestone popularity in Version 53, leading to extensive work and the following Version 100, which would be equivalent to a "1.0" release in current popular version systems.
</p><p>The next major revision was named Version 200, which introduced a new default module system that cooperates with macros.<sup id="cite_ref-release-notes_24-1" class="reference"><a href="#cite_note-release-notes-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> In particular, the module system ensures that run-time and <a href="Compile-time" class="mw-redirect" title="Compile-time">compile-time</a> computation are separated to support a "tower of languages".<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> Unlike units, these modules are not <a href="First-class_object" class="mw-redirect" title="First-class object">first-class objects</a>.
</p><p>Version 300 introduced <a href="Unicode" title="Unicode">Unicode</a> support, <a href="Foreign_function_interface" title="Foreign function interface">foreign library</a> support, and refinements to the class system.<sup id="cite_ref-release-notes_24-2" class="reference"><a href="#cite_note-release-notes-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> Later on, the 300 series improved the <a href="Computer_performance" title="Computer performance">performance</a> of the language runtime with an addition of a JIT compiler and a switch to a default <a href="Generational_garbage_collection" class="mw-redirect" title="Generational garbage collection">generational garbage collection</a>.
</p><p>By the next major release, the project had switched to a more conventional <a href="Software_versioning#Sequence-based_identifiers" title="Software versioning">sequence-based</a> version numbering. Version 4.0 introduced the <code>#lang</code> shorthand to specify the language that a module is written in. Further, the revision introduced <a href="Immutable_object" title="Immutable object">immutable</a> pairs and lists, support for fine-grained <a href="Parallel_computing" title="Parallel computing">parallelism</a>, and a <a href="Static_typing" class="mw-redirect" title="Static typing">statically-typed</a> dialect.<sup id="cite_ref-4.0_26-0" class="reference"><a href="#cite_note-4.0-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>
</p><p>On 7 June 2010, PLT Scheme was renamed Racket.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> The renaming coincided with the release of Version 5.0. Subsequently, the <a href="Graphical_user_interface" title="Graphical user interface">graphical user interface</a> (GUI) backend was rewritten in Racket from <a href="C%2B%2B" title="C++">C++</a> in Version 5.1 using native <a href="Widget_toolkit" title="Widget toolkit">UI toolkits</a> on all platforms.<sup id="cite_ref-gui-rebuild_22-1" class="reference"><a href="#cite_note-gui-rebuild-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> Version 5.2 included a background <a href="Static_code_analysis" class="mw-redirect" title="Static code analysis">syntax checking</a> tool, a new plotting library, a database library, and a new extended REPL.<sup id="cite_ref-5.2_28-0" class="reference"><a href="#cite_note-5.2-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> Version 5.3 included a new submodule feature for optionally loaded modules,<sup id="cite_ref-submodules_29-0" class="reference"><a href="#cite_note-submodules-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> new <a href="Program_optimization" title="Program optimization">optimization</a> tools, a <a href="JSON" title="JSON">JSON</a> library, and other features.<sup id="cite_ref-5.3_30-0" class="reference"><a href="#cite_note-5.3-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> Version 5.3.1 introduced major improvements to DrRacket: the background syntax checker was turned on by default and a new documentation preview tool was added.<sup id="cite_ref-5.3.1_31-0" class="reference"><a href="#cite_note-5.3.1-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup>
</p><p>In version 6.0, Racket released its second-generation package management system. As part of this development, the principal DrRacket and Racket repository was reorganized and split into a large set of small packages, making it possible to install a <i>minimal racket</i> and to install only those packages needed.<sup id="cite_ref-6.0_32-0" class="reference"><a href="#cite_note-6.0-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup>
</p><p>Version 7 of Racket was released with a new macro expander written in Racket as part the preparations for supporting moving to the <a href="Chez_Scheme" title="Chez Scheme">Chez Scheme</a> runtime system and supporting multiple runtime systems.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup>
<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> On 19 November 2019, Racket 7.5 was released. The license of Racket 7.5 was less restrictive. They use now either the Apache 2.0 license or the MIT license.<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>
</p><p>On 2021 February 13, Racket 8.0 was released. Racket 8.0 marks the first release where Racket with the <a href="Chez_Scheme" title="Chez Scheme">Chez Scheme</a> runtime system, known as Racket CS, is the default implementation. Racket CS is faster, easier to maintain and develop, backward-compatible with existing Racket programs, and has better parallel garbage collection.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Features">Features</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Racket_features" title="Racket features">Racket features</a></div>
<p>Racket's core language includes <a href="Macro_(computer_science)#Syntactic_macros" title="Macro (computer science)">macros</a>, <a href="Modular_programming" title="Modular programming">modules</a>, <a href="Closure_(computer_science)" class="mw-redirect" title="Closure (computer science)">lexical closures</a>, <a href="Tail_call" title="Tail call">tail calls</a>, <a href="Delimited_continuation" title="Delimited continuation">delimited continuations</a>,<sup id="cite_ref-icfp2007_38-0" class="reference"><a href="#cite_note-icfp2007-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup> parameters (fluid variables), <a href="Design_by_contract" title="Design by contract">software contracts</a>,<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup> <a href="Green_threads" class="mw-redirect" title="Green threads">green threads</a> and <a href="Thread_(computer_science)" class="mw-redirect" title="Thread (computer science)">OS threads</a>,<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup> and more. The language also comes with primitives, such as eventspaces and custodians, which control resource management and enables the language to act like an <a href="Operating_system" title="Operating system">operating system</a> for loading and managing other programs.<sup id="cite_ref-mred_12-1" class="reference"><a href="#cite_note-mred-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> Further extensions to the language are created with the powerful macro system, which together with the module system and custom parsers can control all aspects of a language.<sup id="cite_ref-creating-languages_43-0" class="reference"><a href="#cite_note-creating-languages-43"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> Most language constructs in Racket are implemented as macros in the base language. These include a <a href="Mixin" title="Mixin">mixin</a> class system,<sup id="cite_ref-scheme-with-classes_16-2" class="reference"><a href="#cite_note-scheme-with-classes-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> a component (or module) system as expressive as opaque ascription in the <a href="Standard_ML#Module_system" title="Standard ML">ML module system</a>,<sup id="cite_ref-units_17-1" class="reference"><a href="#cite_note-units-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> and <a href="Pattern_matching" title="Pattern matching">pattern matching</a>.
</p><p>Further, the language features the first contract system for a <a href="Higher-order_programming" title="Higher-order programming">higher-order programming</a> language.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup>
Racket's contract system is inspired by the <a href="Design_by_Contract" class="mw-redirect" title="Design by Contract">Design by Contract</a> work for <a href="Eiffel_(programming_language)" title="Eiffel (programming language)">Eiffel</a> and extends it to work for higher-order values such as <a href="First-class_function" title="First-class function">first-class functions</a>, objects, <a href="Reference_(computer_science)" title="Reference (computer science)">reference</a> cells, and so on. For example, an object that is checked by a contract can be ensured to make contract checks when its methods are eventually invoked.
</p><p>Racket includes both <a href="Bytecode" title="Bytecode">bytecode</a> and <a href="Just-in-time_compilation" title="Just-in-time compilation">JIT</a> (JIT) compilers. The bytecode compiler produces an internal bytecode format run by the Racket <a href="Virtual_machine" title="Virtual machine">virtual machine</a>, and the JIT compiler translates bytecode to machine code at runtime.
</p><p>Since 2004, the language has also shipped with PLaneT, a package manager that is integrated into the module system so that <a href="Third-party_software_component" title="Third-party software component">third-party libraries</a> can be transparently imported and used. Also, PLaneT has a built-in <a href="Software_versioning" title="Software versioning">versioning</a> policy to prevent <a href="Dependency_hell" title="Dependency hell">dependency hell</a>.<sup id="cite_ref-planet_45-0" class="reference"><a href="#cite_note-planet-45"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup>
</p><p>At the end of 2014, much of Racket's code was moved into a new packaging system separate from the main code base. This new packaging system is serviced by a client program named <i>raco</i>. The new package system provides fewer features than PLaneT; a blog post by Jay McCarthy on the Racket blog explains the rationale for the change and how to duplicate the older system.<sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Integrated_language_extensibility_and_macros">Integrated language extensibility and macros</h3></div>
<div role="note" class="hatnote navigation-not-searchable">See also: <a href="Racket_features#Language_Extensions" title="Racket features">Racket language extensions</a></div>
<p>The features that most clearly distinguish Racket from other languages in the Lisp family are its integrated language <a href="Extensible_programming" title="Extensible programming">extensibility</a> features that support building new <a href="Domain-specific_languages" class="mw-redirect" title="Domain-specific languages">domain-specific</a> and <a href="General-purpose_programming_language" title="General-purpose programming language">general-purpose</a> languages. Racket's extensibility features are built into the module system to allow context-sensitive and module-level control over syntax.<sup id="cite_ref-languages-as-libraries_18-1" class="reference"><a href="#cite_note-languages-as-libraries-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> For example, the <code>#%app</code> syntactic form can be overridden to change the semantics of <a href="Function_application" title="Function application">function application</a>. Similarly, the <code>#%module-begin</code> form allows arbitrary static analysis of the entire module.<sup id="cite_ref-languages-as-libraries_18-2" class="reference"><a href="#cite_note-languages-as-libraries-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> Since any module can be used as a language, via the <code>#lang</code> notation, this effectively means that virtually any aspect of the language can be programmed and controlled.
</p><p>The module-level extensibility features are combined with a <a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>-like hygienic macro system, which provides more features than <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp's</a> s-expression manipulation system,<sup id="cite_ref-you-want-it-when_47-0" class="reference"><a href="#cite_note-you-want-it-when-47"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup> Scheme 84's <a href="Hygienic_macro" title="Hygienic macro">hygienic</a> extend-syntax macros, or <a href="R5RS" class="mw-redirect" title="R5RS">R5RS</a>'s <a href="Syntax-rules" class="mw-redirect" title="Syntax-rules">syntax-rules</a>. Indeed, it is fair to say that the macro system is a carefully tuned <a href="Application_programming_interface" class="mw-redirect" title="Application programming interface">application programming interface</a> (API) for <a href="Compiler" title="Compiler">compiler</a> extensions. Using this compiler API, programmers can add features and entire <a href="Domain-specific_language" title="Domain-specific language">domain-specific languages</a> in a manner that makes them completely indistinguishable from built-in language constructs.
</p><p>The <i>macro</i> system in Racket has been used to construct entire language <a href="Dialect_(computing)" class="mw-redirect" title="Dialect (computing)">dialects</a>. This includes Typed Racket, which is a gradually typed dialect of Racket that eases the migration from <a href="Dynamically_typed" class="mw-redirect" title="Dynamically typed">untyped</a> to typed code,<sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup> Lazy Racket—a dialect with <a href="Lazy_evaluation" title="Lazy evaluation">lazy evaluation</a>,<sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup> and Hackett, which combines Haskell and Racket.<sup id="cite_ref-Alexis_Kings_Blog_51-0" class="reference"><a href="#cite_note-Alexis_Kings_Blog-51"><span class="cite-bracket">[</span>51<span class="cite-bracket">]</span></a></sup> The pedagogical programming language Pyret was originally implemented in Racket.<sup id="cite_ref-The_Pyret_Crew_2011_52-0" class="reference"><a href="#cite_note-The_Pyret_Crew_2011-52"><span class="cite-bracket">[</span>52<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Index_of_/_2017_53-0" class="reference"><a href="#cite_note-Index_of_/_2017-53"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup>
</p><p>Other dialects include FrTime (<a href="Functional_reactive_programming" title="Functional reactive programming">functional reactive programming</a>), Scribble (documentation language),<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup> Slideshow (<a href="Slide_show" title="Slide show">presentation</a> language),<sup id="cite_ref-55" class="reference"><a href="#cite_note-55"><span class="cite-bracket">[</span>55<span class="cite-bracket">]</span></a></sup> and several languages for education.<sup id="cite_ref-functional-io_56-0" class="reference"><a href="#cite_note-functional-io-56"><span class="cite-bracket">[</span>56<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">[</span>57<span class="cite-bracket">]</span></a></sup>
</p><p>Racket's core distribution provides libraries to aid the development of programming languages.<sup id="cite_ref-languages-as-libraries_18-3" class="reference"><a href="#cite_note-languages-as-libraries-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> Such languages are not restricted to <a href="S-expression" title="S-expression">s-expression</a> based syntax. In addition to conventional readtable-based syntax extensions, the directive <code>#lang</code> enables the invocation of arbitrary parsers, which can be implemented using the parser tools library.<sup id="cite_ref-parsers_58-0" class="reference"><a href="#cite_note-parsers-58"><span class="cite-bracket">[</span>58<span class="cite-bracket">]</span></a></sup> See <a href="Racket_features#Logic_programming" title="Racket features">Racket logic programming</a> for an example of such a language.
</p>
<div class="mw-heading mw-heading2"><h2 id="Programming_environment">Programming environment</h2></div>
<p>The language platform provides a <a href="Self-hosting_(compilers)" title="Self-hosting (compilers)">self-hosted</a> <a href="Integrated_development_environment" title="Integrated development environment">IDE</a><sup id="cite_ref-drscheme_13-2" class="reference"><a href="#cite_note-drscheme-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> named DrRacket, a continuation-based <a href="Web_server" title="Web server">web server</a>,<sup id="cite_ref-web-server_59-0" class="reference"><a href="#cite_note-web-server-59"><span class="cite-bracket">[</span>59<span class="cite-bracket">]</span></a></sup> a <a href="Graphical_user_interface" title="Graphical user interface">graphical user interface</a>,<sup id="cite_ref-gui-rebuild_22-2" class="reference"><a href="#cite_note-gui-rebuild-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> and other tools. As a viable scripting tool with libraries like common <a href="Scripting_language" title="Scripting language">scripting languages</a>, it can be used for scripting the Unix shell. It can parse <a href="Command-line_argument" class="mw-redirect" title="Command-line argument">command-line arguments</a> and execute external tools.
</p>
<div class="mw-heading mw-heading3"><h3 id="DrRacket_IDE">DrRacket IDE</h3></div>
<p>DrRacket (formerly DrScheme) is widely used among introductory computer science courses that teach Scheme or Racket and is lauded for its simplicity and appeal to beginner programmers. The IDE was originally built for use with the TeachScheme! project (now <a href="ProgramByDesign" title="ProgramByDesign">ProgramByDesign</a>), an outreach effort by <a href="Northeastern_University" title="Northeastern University">Northeastern University</a> and a number of affiliated universities for attracting high school students to computer science courses at the college level.
</p><p>The editor provides <a href="Syntax_highlighting" title="Syntax highlighting">highlighting</a> for syntax and run-time errors, parenthesis matching, a <a href="Debugger" title="Debugger">debugger</a> and an algebraic stepper. Its student-friendly features include support for multiple "language levels" (Beginning Student, Intermediate Student and so on). It also has integrated library support, and sophisticated <a href="Program_analysis" title="Program analysis">analysis</a> tools for advanced programmers. Further, <a href="Modular_programming" title="Modular programming">module-oriented programming</a> is supported with the module browser, a contour view, integrated <a href="Software_testing" title="Software testing">testing</a> and <a href="Fault_coverage" title="Fault coverage">coverage</a> measurements, and <a href="Refactoring" class="mw-redirect" title="Refactoring">refactoring</a> support. It provides integrated, context-sensitive access to an extensive hyper-linked help system named "Help Desk".
</p><p>DrRacket is available for <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a>, <a href="MacOS" title="MacOS">macOS</a>, <a href="Unix" title="Unix">Unix</a>, and <a href="Linux" title="Linux">Linux</a> with the <a href="X_Window_System" title="X Window System">X Window System</a> and programs behave similarly on all these platforms.
</p>
<div class="mw-heading mw-heading2"><h2 id="Code_examples">Code examples</h2></div>
<p>Here is a trivial <a href="%22Hello%2C_World!%22_program" title="&quot;Hello, World!&quot; program">"Hello, World!" program</a>:
</p>
<div class="mw-highlight mw-highlight-lang-racket mw-content-ltr" dir="ltr"><pre><span class="kn">#lang </span><span class="nn">racket</span>
<span class="s2">"Hello, World!"</span>
</pre></div>
<p>Running this program produces the output:
</p>
<dl><dd><samp style="padding-left:0.4em; padding-right:0.4em; color:var( --color-subtle, #666666);">"Hello, World!"</samp></dd></dl>
<p>Here is a slightly less trivial program:
</p>

<div class="mw-highlight mw-highlight-lang-racket mw-content-ltr" dir="ltr"><pre><span class="kn">#lang </span><span class="nn">racket</span>
<span class="p">(</span><span class="k">require</span><span class="w"> </span><span class="n">2htdp/image</span><span class="p">)</span>

<span class="p">(</span><span class="k">let</span><span class="w"> </span><span class="n">sierpinski</span><span class="w"> </span><span class="p">([</span><span class="n">n</span><span class="w"> </span><span class="mi">8</span><span class="p">])</span>
<span class="w"> </span><span class="p">(</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nb">zero?</span><span class="w"> </span><span class="n">n</span><span class="p">)</span>
<span class="w"> </span><span class="p">(</span><span class="n">triangle</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">'</span><span class="ss">solid</span><span class="w"> </span><span class="o">'</span><span class="ss">red</span><span class="p">)</span>
<span class="w"> </span><span class="p">(</span><span class="k">let</span><span class="w"> </span><span class="p">([</span><span class="n">t</span><span class="w"> </span><span class="p">(</span><span class="n">sierpinski</span><span class="w"> </span><span class="p">(</span><span class="nb">-</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="mi">1</span><span class="p">))])</span>
<span class="w"> </span><span class="p">(</span><span class="n">freeze</span><span class="w"> </span><span class="p">(</span><span class="n">above</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="p">(</span><span class="n">beside</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="n">t</span><span class="p">))))))</span>
</pre></div>
<p>This program, taken from the Racket website, draws a <a href="Sierpinski_triangle" class="mw-redirect" title="Sierpinski triangle">Sierpinski triangle</a>, nested to depth 8.
</p><p>Using the <code>#lang</code> directive, a source file can be written in different dialects of Racket. Here is an example of the factorial program in Typed Racket, a <a href="Statically_typed" class="mw-redirect" title="Statically typed">statically typed</a> dialect of Racket:
</p>
<div class="mw-highlight mw-highlight-lang-racket mw-content-ltr" dir="ltr"><pre><span class="kn">#lang </span><span class="nn">typed/racket</span>

<span class="p">(</span><span class="n">:</span><span class="w"> </span><span class="n">fact</span><span class="w"> </span><span class="p">(</span><span class="n">Integer</span><span class="w"> </span><span class="k">-&gt;</span><span class="w"> </span><span class="n">Integer</span><span class="p">))</span>
<span class="p">(</span><span class="k">define</span><span class="w"> </span><span class="p">(</span><span class="n">fact</span><span class="w"> </span><span class="n">n</span><span class="p">)</span>
<span class="w"> </span><span class="p">(</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nb">zero?</span><span class="w"> </span><span class="n">n</span><span class="p">)</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">(</span><span class="nb">*</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="p">(</span><span class="n">fact</span><span class="w"> </span><span class="p">(</span><span class="nb">-</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="mi">1</span><span class="p">)))))</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Implementations">Implementations</h2></div>
<p>Racket currently has two implementations. Both support Linux, Windows and MacOS on a variety of architectures and are supported as at version 8.8 (2023). The default implementation uses the <a href="Chez_Scheme" title="Chez Scheme">Chez Scheme</a> incremental compiler and runtime. The alternate implementation generates platform-independent bytecode and uses <a href="Just-in-time_compilation" title="Just-in-time compilation">Just-in-time compilation</a> to generate machine code as it is loaded.<sup id="cite_ref-60" class="reference"><a href="#cite_note-60"><span class="cite-bracket">[</span>60<span class="cite-bracket">]</span></a></sup>
</p><p>In addition, there are experimental implementations:
</p>
<ul><li>RacketScript is an experimental Racket to JavaScript (ES6) compiler. It allows programmers to use both JavaScript’s and Racket’s ecosystem and aims to make this interoperability as smooth as possible.<sup id="cite_ref-61" class="reference"><a href="#cite_note-61"><span class="cite-bracket">[</span>61<span class="cite-bracket">]</span></a></sup></li>
<li>Pycket is a Racket implementation generated using the RPython framework.<sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">[</span>62<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Applications_and_practical_use">Applications and practical use</h2></div>
<p>Apart from having a basis in <a href="Programming_language_theory" title="Programming language theory">programming language theory</a>, Racket was designed as a general-purpose language for production systems. Thus, the Racket distribution features an extensive library that covers systems and network programming, web development,<sup id="cite_ref-web-server_59-1" class="reference"><a href="#cite_note-web-server-59"><span class="cite-bracket">[</span>59<span class="cite-bracket">]</span></a></sup> a uniform interface to the underlying operating system, a dynamic <a href="Foreign_function_interface" title="Foreign function interface">foreign function interface</a>,<sup id="cite_ref-ffi_63-0" class="reference"><a href="#cite_note-ffi-63"><span class="cite-bracket">[</span>63<span class="cite-bracket">]</span></a></sup> several flavours of <a href="Regular_expressions" class="mw-redirect" title="Regular expressions">regular expressions</a>, lexer/parser generators,<sup id="cite_ref-parsers_58-1" class="reference"><a href="#cite_note-parsers-58"><span class="cite-bracket">[</span>58<span class="cite-bracket">]</span></a></sup> <a href="Logic_programming" title="Logic programming">logic programming</a>, and a complete <a href="GUI" class="mw-redirect" title="GUI">GUI</a> framework.
</p><p>Racket has several features useful for a commercial language, among them an ability to compile standalone executables under Windows, macOS, and Unix, a <a href="Profiling_(computer_programming)" title="Profiling (computer programming)">profiler</a> and <a href="Debugger" title="Debugger">debugger</a> included in the <a href="Integrated_development_environment" title="Integrated development environment">integrated development environment</a> (IDE), and a <a href="Unit_testing" title="Unit testing">unit testing</a> framework.
</p><p>Racket has been used for commercial projects and web applications. A notable example is the <a href="Hacker_News" title="Hacker News">Hacker News</a> website, which runs on <a href="Arc_(programming_language)" title="Arc (programming language)">Arc</a>, which is developed in Racket. <a href="Naughty_Dog" title="Naughty Dog">Naughty Dog</a> has used it as a scripting language in several video games.<sup id="cite_ref-64" class="reference"><a href="#cite_note-64"><span class="cite-bracket">[</span>64<span class="cite-bracket">]</span></a></sup>
</p><p>Racket is used to teach students algebra through game design in the <a href="Bootstrap_curriculum" title="Bootstrap curriculum">Bootstrap program</a>.<sup id="cite_ref-65" class="reference"><a href="#cite_note-65"><span class="cite-bracket">[</span>65<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-wikidata-cbcb0411e1e9303dfadf06d99938f6fb9ea6bba9-v20-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-cbcb0411e1e9303dfadf06d99938f6fb9ea6bba9-v20_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/racket/racket/releases/tag/v8.17">"Racket v8.17"</a>. 17 May 2025<span class="reference-accessdate">. Retrieved <span class="nowrap">17 May</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFTobin-HochstadtGerardDueckFlatt2019" class="citation web cs1">Tobin-Hochstadt, Sam; Gerard, Sage; Dueck, Joel; <a href="Matthew_Flatt" title="Matthew Flatt">Flatt, Matthew</a>; <a href="Software_Freedom_Conservancy" title="Software Freedom Conservancy">Software Freedom Conservancy</a>; Chestek, Pamela (2019-11-15). <a rel="nofollow" class="external text" href="https://blog.racket-lang.org/2019/11/completing-racket-s-relicensing-effort.html">"Completing Racket's relicensing effort"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-12-27</span></span>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.racket-lang.org/drracket/drracket-files.html">"DrRacket Files"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">21 July</span> 2019</span>. <q>The standard file extension for a Racket program file is ".rkt". The extensions ".ss", ".scm", and ".sch" are also historically popular.</q></cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFStricklandFellesisen2010" class="citation web cs1">Strickland, T.S.; Fellesisen, Matthias (2010). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/racket/pubs/dls10-sf.pdf">"DLS 2010: Contracts for First-Class Classes"</a> <span class="cs1-format">(PDF)</span>.</cite></span>
</li>
<li id="cite_note-typed-clojure-thesis-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-typed-clojure-thesis_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBonnaire-Sergeant2012" class="citation thesis cs1">Bonnaire-Sergeant, Ambrose (2012). <i>A Practical Optional Type System for Clojure</i> (Thesis). The University of Western Australia.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://mail.mozilla.org/pipermail/rust-dev/2013-May/003947.html">"Planet2 questions"</a>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/rust-lang/rust/blob/0486e12ad0661adcfdbd926dea17d7edfda419c1/src/doc/book/bibliography.md">"Rust Bibliography"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>. 23 November 2022.</cite></span>
</li>
<li id="cite_note-r6rs-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-r6rs_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSperberDybvigFlattVan_Straaten2007" class="citation web cs1">Sperber, Michael; Dybvig, R. Kent; Flatt, Matthew; Van Straaten, Anton; et&nbsp;al. (August 2007). <a rel="nofollow" class="external text" href="http://www.r6rs.org">"Revised<sup>6</sup> Report on the Algorithmic Language Scheme (R6RS)"</a>. Scheme Steering Committee<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-09-13</span></span>.</cite></span>
</li>
<li id="cite_note-manifesto-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-manifesto_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-manifesto_9-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFFelleisenFindlerFlattKrishnamurthi2015" class="citation journal cs1">Felleisen, M.; Findler, R.B.; Flatt, M.; Krishnamurthi, S.; Barzilay, E.; McCarthy, J.; Tobin-Hochstadt, S. (2015). <a rel="nofollow" class="external text" href="https://www2.ccs.neu.edu/racket/pubs/manifesto.pdf">"The Racket Manifesto"</a> <span class="cs1-format">(PDF)</span>. <i>Proceedings of the First Summit on Advances in Programming Languages</i>: <span class="nowrap">113–</span>128.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.racket-lang.org/guide/dialects.html">"Dialects of Racket and Scheme"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-08-15</span></span>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.racket-lang.org/guide/intro.html">"Welcome to Racket"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-15</span></span>.</cite></span>
</li>
<li id="cite_note-mred-12"><span class="mw-cite-backlink">^ <a href="#cite_ref-mred_12-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-mred_12-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">
<cite id="CITEREFFlattFindlerKrishnamurthiFelleisen1999" class="citation conference cs1">Flatt; Findler; Krishnamurthi; Felleisen (1999). <i>Programming Languages as Operating Systems (or, Revenge of the Son of the Lisp Machine)</i>. International Conference on Functional Programming.</cite></span>
</li>
<li id="cite_note-drscheme-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-drscheme_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-drscheme_13-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-drscheme_13-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFFindlerClementsFlanaganFlatt2001" class="citation journal cs1">Findler; Clements; Flanagan; Flatt; Krishnamurthi; Steckler; Felleisen (2001). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/racket/pubs/jfp01-fcffksf.pdf">"DrScheme: A Programming Environment for Scheme"</a> <span class="cs1-format">(PDF)</span>. <i>Journal of Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-teachscheme-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-teachscheme_14-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFelleisenFindlerFlattKrishnamurthi2004" class="citation news cs1">Felleisen; Findler; Flatt; Krishnamurthi (2004). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/scheme/pubs/#cse2003-fffk">"The TeachScheme! Project: Computing and Programming for Every Student"</a>. <i>Journal of Computer Science Education</i>.</cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130520104718/http://www.programbydesign.org/overview">"Overview"</a>. Program by Design. Archived from <a rel="nofollow" class="external text" href="http://programbydesign.org/overview">the original</a> on 2013-05-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-08-17</span></span>.</cite></span>
</li>
<li id="cite_note-scheme-with-classes-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-scheme-with-classes_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-scheme-with-classes_16-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-scheme-with-classes_16-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFFlattFindlerFelleisen2006" class="citation conference cs1">Flatt, M.; Findler, R. B.; Felleisen, M. (2006). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/scheme/pubs/asplas06-fff.pdf">"Scheme with Classes, Mixins, and Traits"</a> <span class="cs1-format">(PDF)</span>. <i>Asian Symposium on Programming Languages and Systems</i>.</cite></span>
</li>
<li id="cite_note-units-17"><span class="mw-cite-backlink">^ <a href="#cite_ref-units_17-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-units_17-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFFlattFelleisen1998" class="citation conference cs1">Flatt, M.; Felleisen, M. (1998). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/scheme/pubs/pldi98-ff.ps.gz">"Units: Cool Modules for Hot Languages"</a>. <i>Programming Language Design and Implementation</i>.</cite></span>
</li>
<li id="cite_note-languages-as-libraries-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-languages-as-libraries_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-languages-as-libraries_18-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-languages-as-libraries_18-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-languages-as-libraries_18-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFTobin-HochstadtSt-AmourCulpepperFlatt2011" class="citation conference cs1">Tobin-Hochstadt, S.; St-Amour, V.; Culpepper, R.; Flatt, M.; Felleisen, M. (2011). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/scheme/pubs/pldi11-thacff.pdf">"Languages as Libraries"</a> <span class="cs1-format">(PDF)</span>. <i>Programming Language Design and Implementation</i>.</cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><cite id="CITEREFFelleisenFindlerFlattKrishnamurthi2018" class="citation journal cs1">Felleisen, Matthias; Findler, Robert Bruce; Flatt, Matthew; Krishnamurthi, Shriram; Barzilay, Eli; McCarthy, Jay; Tobin-Hochstadt, Sam (2018). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="https://cacm.acm.org/magazines/2018/3/225475-a-programmable-programming-language/fulltext">"A Programmable Programming Language"</a></span>. <i>Communications of the ACM</i>. <b>61</b> (3): <span class="nowrap">62–</span>71. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3127323">10.1145/3127323</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:3887010">3887010</a>.</cite></span>
</li>
<li id="cite_note-racket-lgpl-license-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-racket-lgpl-license_20-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://download.racket-lang.org/license.html">"Racket: Software License"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-10-20</span></span>.</cite></span>
</li>
<li id="cite_note-libscheme-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-libscheme_21-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBenson1994" class="citation conference cs1 cs1-prop-location-test">Benson, Brent W. Jr. (26–28 October 1994). <a rel="nofollow" class="external text" href="https://www.usenix.org/legacy/publications/library/proceedings/vhll/benson.html">"libscheme: Scheme as a C Library"</a>. Written at Santa Fe, NM. <i>Proceedings of the USENIX Symposium on Very High Level Languages</i>. Berkeley, CA: USENIX Association. pp.&nbsp;<span class="nowrap">7–</span>19. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1880446652</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">7 July</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-gui-rebuild-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-gui-rebuild_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-gui-rebuild_22-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-gui-rebuild_22-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blog.racket-lang.org/2010/12/rebuilding-rackets-graphics-layer.html">"Rebuilding Racket's Graphics Layer"</a>. 2010-12-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-12-11</span></span>.</cite></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><cite id="CITEREFClementsFlattFelleisen2001" class="citation conference cs1">Clements, J.; Flatt, M.; Felleisen, M. (2001). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/scheme/pubs/esop2001-cff.pdf">"Modeling an Algebraic Stepper"</a> <span class="cs1-format">(PDF)</span>. <i>European Symposium on Programming Languages</i>.</cite></span>
</li>
<li id="cite_note-release-notes-24"><span class="mw-cite-backlink">^ <a href="#cite_ref-release-notes_24-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-release-notes_24-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-release-notes_24-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130705094339/http://docs.racket-lang.org/release-notes/racket/HISTORY.txt">"Racket Core Release Notes"</a>. Archived from <a rel="nofollow" class="external text" href="http://docs.racket-lang.org/release-notes/racket/HISTORY.txt">the original</a> on 2013-07-05<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-04-15</span></span>.</cite></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite id="CITEREFFlatt2002" class="citation conference cs1">Flatt, M. (2002). "Composable and Compilable Macros". <i>International Conference on Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-4.0-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-4.0_26-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130202224019/http://blog.racket-lang.org/2008/06/plt-scheme-version-4.html">"PLT Scheme version 4.0"</a>. 2008-06-12. Archived from <a rel="nofollow" class="external text" href="http://blog.racket-lang.org/2008/06/plt-scheme-version-4.html">the original</a> on 2013-02-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-08-07</span></span>.</cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://racket-lang.org/new-name.html">"From PLT Scheme to Racket"</a>. Racket-lang.org<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-08-17</span></span>.</cite></span>
</li>
<li id="cite_note-5.2-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-5.2_28-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blog.racket-lang.org/2011/11/racket-v52.html">"Racket 5.2"</a>. PLT, Inc. 2011-11-09<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-06-16</span></span>.</cite></span>
</li>
<li id="cite_note-submodules-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-submodules_29-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blog.racket-lang.org/2012/06/submodules.html">"Submodules"</a>. 2012-06-03<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-08-07</span></span>.</cite></span>
</li>
<li id="cite_note-5.3-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-5.3_30-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blog.racket-lang.org/2012/08/racket-v53.html">"Racket 5.3"</a>. PLT, Inc. 2012-08-07<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-08-07</span></span>.</cite></span>
</li>
<li id="cite_note-5.3.1-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-5.3.1_31-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blog.racket-lang.org/2012/11/racket-v531.html">"Racket 5.3.1"</a>. PLT, Inc. 2012-11-07<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-11-07</span></span>.</cite></span>
</li>
<li id="cite_note-6.0-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-6.0_32-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blog.racket-lang.org/2014/02/racket-v60.html">"Racket 6.0"</a>. PLT, Inc. 2014-02-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-02-23</span></span>.</cite></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blog.racket-lang.org/2018/01/racket-on-chez-status.html">"Racket-on-Chez Status: January 2018"</a>. 2018-01-05. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180628163352/https://blog.racket-lang.org/2018/01/racket-on-chez-status.html">Archived</a> from the original on 2018-06-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-04-13</span></span>.</cite></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.cs.utah.edu/plt/publications/icfp19-rddkmstz.pdf">"building Racket on Chez Scheme (Experience Report)"</a> <span class="cs1-format">(PDF)</span>. 2019-08-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-07-25</span></span>.</cite></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://hub.packtpub.com/racket-7-5-releases-with-relicensing-to-apache-mit-standard-json-mime-dark-mode-interface-and-more/">"Racket 7.5 release"</a>. <i>Packt Hub</i>. 22 November 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-11-28</span></span>.</cite></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blog.racket-lang.org/2019/11/racket-v7-5.html">"Racket v7.5"</a>. <i>Racket | Blog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-11-28</span></span>.</cite></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blog.racket-lang.org/2021/02/racket-v8-0.html">"Racket v8.0"</a>.</cite></span>
</li>
<li id="cite_note-icfp2007-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-icfp2007_38-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFFlattYuFindlerFelleisen2007" class="citation conference cs1">Flatt, M.; Yu, G.; Findler, R. B.; Felleisen, M. (2007). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/scheme/pubs/icfp07-fyff.pdf">"Adding Delimited and Composable Control to a Production Programming Environment"</a> <span class="cs1-format">(PDF)</span>. <i>International Conference on Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.racket-lang.org/guide/contracts.html">"Contracts"</a>.</cite></span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.racket-lang.org/reference/threads.html">"Threads"</a>.</cite></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.racket-lang.org/reference/futures.html">"Futures"</a>.</cite></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.racket-lang.org/reference/places.html">"Places"</a>.</cite></span>
</li>
<li id="cite_note-creating-languages-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-creating-languages_43-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFlatt2012" class="citation news cs1">Flatt, Matthew (2012). <a rel="nofollow" class="external text" href="http://cacm.acm.org/magazines/2012/1/144809-creating-languages-in-racket">"Creating Languages in Racket"</a>. <i>Communications of the ACM</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-04-08</span></span>.</cite></span>
</li>
<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><cite id="CITEREFFindlerFelleisen2002" class="citation conference cs1">Findler, R. B.; Felleisen, M. (2002). <a rel="nofollow" class="external text" href="http://www.eecs.northwestern.edu/~robby/pubs/papers/ho-contracts-icfp2002.pdf">"Contracts for Higher-Order Functions"</a> <span class="cs1-format">(PDF)</span>. <i>International Conference on Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-planet-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-planet_45-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMatthews2006" class="citation conference cs1">Matthews, J. (2006). "Component Deployment with PLaneT: You Want it Where?". <i>Scheme and Functional Programming Workshop</i>.</cite></span>
</li>
<li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blog.racket-lang.org/2014/12/the-racket-package-system-and-planet.html">"The Racket package system and Planet"</a>.</cite></span>
</li>
<li id="cite_note-you-want-it-when-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-you-want-it-when_47-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFlatt2002" class="citation conference cs1">Flatt, Matthew (2002). <a rel="nofollow" class="external text" href="http://www.cs.utah.edu/plt/publications/macromod.pdf">"Composable and Compilable Macros, You Want it When?"</a> <span class="cs1-format">(PDF)</span>. <i>International Conference on Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text">Flatt, Culpepper, Darais, Findler, <a rel="nofollow" class="external text" href="http://www.cs.utah.edu/plt/publications/jfp12-draft-fcdf.pdf">Macros that Work Together; Compile-Time Bindings, Partial Expansion, and Definition Contexts</a></span>
</li>
<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><cite id="CITEREFTobin-HochstadtFelleisen2008" class="citation conference cs1">Tobin-Hochstadt, S.; Felleisen, M. (2008). "The Design and Implementation of Typed Scheme". <i>Principles of Programming Languages</i>.</cite></span>
</li>
<li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><cite id="CITEREFBarzilayClements2005" class="citation conference cs1">Barzilay, E.; Clements, J. (2005). "Laziness Without All the Hard Work: Combining Lazy and Strict Languages for Teaching". <i>Functional and Declarative Programming in Education</i>.</cite></span>
</li>
<li id="cite_note-Alexis_Kings_Blog-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-Alexis_Kings_Blog_51-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lexi-lambda.github.io/hackett/">"The Hackett Programming Language"</a>. <i>Alexis King's Blog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">16 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-The_Pyret_Crew_2011-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-The_Pyret_Crew_2011_52-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFThe_Pyret_Crew2011" class="citation web cs1">The Pyret Crew (24 May 2011). <a rel="nofollow" class="external text" href="http://pyret.org/pyret-code/index.html">"The Pyret Code; or A Rationale for the Pyret Programming Language"</a>. <i>Pyret</i><span class="reference-accessdate">. Retrieved <span class="nowrap">16 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-Index_of_/_2017-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-Index_of_/_2017_53-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://papl.cs.brown.edu/2017/">"Programming and Programming Languages"</a>. <i>Index of /</i>. 20 September 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">16 June</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><cite id="CITEREFFlattBarzilayFindler2009" class="citation conference cs1">Flatt, M.; Barzilay, E.; Findler, R. B. (2009). "Scribble: Closing the Book on Ad Hoc Documentation Tools". <i>International Conference on Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-55">^</a></b></span> <span class="reference-text"><cite id="CITEREFFindlerFlatt2004" class="citation conference cs1">Findler, R. B.; Flatt, M. (2004). "Slideshow: Functional Presentations". <i>International Conference on Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-functional-io-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-functional-io_56-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFelleisenFindlerFlattKrishnamurthi2009" class="citation conference cs1">Felleisen, M.; Findler, R. B.; Flatt, M.; Krishnamurthi, S. (2009). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/scheme/pubs/icfp09-fffk.pdf">"A Functional I/O System (or Fun for Freshman Kids)"</a> <span class="cs1-format">(PDF)</span>. <i>International Conference on Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><cite id="CITEREFFelleisenFindlerFlattKrishnamurthi2004" class="citation journal cs1">Felleisen, M.; Findler, R. B.; Flatt, M.; Krishnamurthi, S. (2004). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/scheme/pubs/fdpe2002-fffk.pdf">"The Structure and Interpretation of the Computer Science Curriculum"</a> <span class="cs1-format">(PDF)</span>. <i>Journal of Functional Programming</i>. <b>14</b> (4): <span class="nowrap">365–</span>378. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1017%2FS0956796804005076">10.1017/S0956796804005076</a>.</cite></span>
</li>
<li id="cite_note-parsers-58"><span class="mw-cite-backlink">^ <a href="#cite_ref-parsers_58-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-parsers_58-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.racket-lang.org/parser-tools/">"Parser Tools: lex and yacc-style Parsing"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-08-16</span></span>.</cite></span>
</li>
<li id="cite_note-web-server-59"><span class="mw-cite-backlink">^ <a href="#cite_ref-web-server_59-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-web-server_59-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFKrishnamurthi,_HopkinsMcCarthyGraunkePettyjohn2007" class="citation journal cs1">Krishnamurthi, Hopkins; McCarthy; Graunke; Pettyjohn; Felleisen (2007). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/racket/pubs/hosc07-sk-mf.pdf">"Implementation and Use of the PLT Scheme Web Server"</a> <span class="cs1-format">(PDF)</span>. <i>Journal of Higher-Order and Symbolic Programming</i>. <b>20</b> (4): <span class="nowrap">431–</span>460. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs10990-007-9008-y">10.1007/s10990-007-9008-y</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:17731194">17731194</a>.</cite></span>
</li>
<li id="cite_note-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-60">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.racket-lang.org/reference/implementations.html">Implementations</a></span>
</li>
<li id="cite_note-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-61">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.racket-lang.org/racketscript/index.html">RacketScript</a></span>
</li>
<li id="cite_note-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-62">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/pycket/pycket">Pycket</a></span>
</li>
<li id="cite_note-ffi-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-ffi_63-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBarzilayOrlovsky2004" class="citation conference cs1">Barzilay, E.; Orlovsky, D. (2004). <a rel="nofollow" class="external text" href="http://www.ccs.neu.edu/racket/pubs/scheme04-bo.pdf">"Foreign Interface for PLT Scheme"</a> <span class="cs1-format">(PDF)</span>. <i>Scheme and Functional Programming</i>.</cite></span>
</li>
<li id="cite_note-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-64">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://cufp.org/conference/sessions/2011/functional-mzscheme-dsls-game-development">"Functional mzScheme DSLs in Game Development"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-05-08</span></span>.</cite></span>
</li>
<li id="cite_note-65"><span class="mw-cite-backlink"><b><a href="#cite_ref-65">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.bootstrapworld.org/materials/fall2015/index.shtml">"Bootstrap"</a>. <i>bootstrapworld.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-08-11</span></span>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li>Felleisen <i>et al.</i>, 2013. <a rel="nofollow" class="external text" href="http://realmofracket.com/"><i>Realm of Racket</i></a>. No Starch Press.</li>
<li>Felleisen <i>et al.</i>, 2003. <i><a href="How_to_Design_Programs" title="How to Design Programs">How to Design Programs</a></i>. MIT Press.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="http://racket-lang.org">Official website</a></span></span></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Lisp_programming880" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Lisp_programming880" style="font-size:114%;margin:0 4em"><a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp programming</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Features</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Garbage_collection_(computer_science)" title="Garbage collection (computer science)">Automatic storage management</a></li>
<li><a href="Conditional_(computer_programming)" title="Conditional (computer programming)">Conditionals</a></li>
<li><a href="Dynamic_typing" class="mw-redirect" title="Dynamic typing">Dynamic typing</a></li>
<li><a href="Higher-order_function" title="Higher-order function">Higher-order functions</a></li>
<li><a href="Linked_list" title="Linked list">Linked lists</a></li>
<li><a href="Macro_(computer_science)" title="Macro (computer science)">Macros</a></li>
<li><a href="M-expression" title="M-expression">M-expressions</a> (deprecated)</li>
<li><a href="Read%E2%80%93eval%E2%80%93print_loop" title="Read–eval–print loop">Read–eval–print loop</a></li>
<li><a href="Recursion_(computer_science)" title="Recursion (computer science)">Recursion</a></li>
<li><a href="S-expression" title="S-expression">S-expressions</a></li>
<li><a href="Self-hosting_(compilers)" title="Self-hosting (compilers)">Self-hosting</a> <a href="Compiler" title="Compiler">compiler</a></li>
<li><a href="Tree_data_structure" class="mw-redirect" title="Tree data structure">Tree data structures</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Object-oriented_programming" title="Object-oriented programming">Object</a> systems</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Common_Lisp_Object_System" title="Common Lisp Object System">Common Lisp Object System</a> (CLOS)</li>
<li><a href="CommonLoops" title="CommonLoops">CommonLoops</a></li>
<li><a href="Flavors_(programming_language)" title="Flavors (programming language)">Flavors</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Programming_language_implementation" title="Programming language implementation">Implementations</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Technical_standard" title="Technical standard">Standardized</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Common_Lisp" title="Common Lisp">Common<br>Lisp</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Allegro_Common_Lisp" title="Allegro Common Lisp">Allegro Common Lisp</a></li>
<li><a href="Armed_Bear_Common_Lisp" class="mw-redirect" title="Armed Bear Common Lisp">Armed Bear Common Lisp</a> (ABCL)</li>
<li><a href="CLISP" title="CLISP">CLISP</a></li>
<li><a href="Clozure_CL" title="Clozure CL">Clozure CL</a></li>
<li><a href="CMU_Common_Lisp" title="CMU Common Lisp">CMU Common Lisp</a> (CMUCL)</li>
<li><a href="Corman_Common_Lisp" class="mw-redirect" title="Corman Common Lisp">Corman Common Lisp</a></li>
<li><a href="Embeddable_Common_Lisp" title="Embeddable Common Lisp">Embeddable Common Lisp</a> (ECL)</li>
<li><a href="GNU_Common_Lisp" title="GNU Common Lisp">GNU Common Lisp</a> (GCL)</li>
<li><a href="LispWorks" title="LispWorks">LispWorks</a></li>
<li><a href="Macintosh_Common_Lisp" title="Macintosh Common Lisp">Macintosh Common Lisp</a></li>
<li><a href="Mocl" title="Mocl">Mocl</a></li>
<li>Movitz</li>
<li><a href="Poplog" title="Poplog">Poplog</a></li>
<li><a href="Steel_Bank_Common_Lisp" title="Steel Bank Common Lisp">Steel Bank Common Lisp</a> (SBCL)</li>
<li><a href="Genera_(operating_system)" title="Genera (operating system)">Symbolics Common Lisp</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><i><a href="History_of_the_Scheme_programming_language" title="History of the Scheme programming language">History</a></i></li>
<li><a href="Bigloo" title="Bigloo">Bigloo</a></li>
<li><a href="Chez_Scheme" title="Chez Scheme">Chez Scheme</a></li>
<li><a href="Chicken_(Scheme_implementation)" title="Chicken (Scheme implementation)">Chicken</a></li>
<li><a href="Gambit_(scheme_implementation)" class="mw-redirect" title="Gambit (scheme implementation)">Gambit</a></li>
<li><a href="Game_Oriented_Assembly_Lisp" title="Game Oriented Assembly Lisp">Game Oriented Assembly Lisp</a> (GOAL)</li>
<li><a href="GNU_Guile" title="GNU Guile">GNU Guile</a></li>
<li><a href="Ikarus_(Scheme_implementation)" title="Ikarus (Scheme implementation)">Ikarus</a></li>
<li><a href="JScheme" title="JScheme">JScheme</a></li>
<li><a href="Kawa_(Scheme_implementation)" title="Kawa (Scheme implementation)">Kawa</a></li>
<li><a href="MIT/GNU_Scheme" title="MIT/GNU Scheme">MIT/GNU Scheme</a></li>
<li><a href="MultiLisp" title="MultiLisp">MultiLisp</a></li>
<li><a href="Pico_(programming_language)" title="Pico (programming language)">Pico</a></li>
<li>Pocket Scheme</li>
<li> (<a href="Racket_features" title="Racket features">features</a>)</li>
<li><a href="Scheme_48" title="Scheme 48">Scheme 48</a></li>
<li><a href="SCM_(Scheme_implementation)" title="SCM (Scheme implementation)">SCM</a></li>
<li><a href="SIOD" title="SIOD">SIOD</a></li>
<li><a href="T_(programming_language)" title="T (programming language)">T</a></li>
<li><a href="TinyScheme" title="TinyScheme">TinyScheme</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="ISLISP" title="ISLISP">ISLISP</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="OpenLisp" title="OpenLisp">OpenLisp</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Unstandardized</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Logo_(programming_language)" title="Logo (programming language)">Logo</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="MSWLogo" title="MSWLogo">MSWLogo</a></li>
<li><a href="NetLogo" title="NetLogo">NetLogo</a></li>
<li><a href="StarLogo" title="StarLogo">StarLogo</a></li>
<li><a href="UCBLogo" title="UCBLogo">UCBLogo</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="POP-11" title="POP-11">POP</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="COWSEL" title="COWSEL">COWSEL</a> (POP-1)</li>
<li><a href="POP-2" title="POP-2">POP-2</a></li>
<li><a href="POP-11" title="POP-11">POP-11</a></li></ul>
</div></td></tr></tbody></table><div>
<ul><li><a href="Arc_(programming_language)" title="Arc (programming language)">Arc</a></li>
<li><a href="AutoLISP" title="AutoLISP">AutoLISP</a></li>
<li><a href="BBN_LISP" title="BBN LISP">BBN LISP</a></li>
<li><a href="Clojure" title="Clojure">Clojure</a></li>
<li><a href="Dylan_(programming_language)" title="Dylan (programming language)">Dylan</a> (<a href="Apple_Dylan" title="Apple Dylan">Apple</a>, <i><a href="History_of_the_Dylan_programming_language" title="History of the Dylan programming language">history</a></i>)</li>
<li><a href="Emacs_Lisp" title="Emacs Lisp">Emacs Lisp</a></li>
<li><a href="EuLisp" title="EuLisp">EuLisp</a></li>
<li><a href="Franz_Lisp" title="Franz Lisp">Franz Lisp</a>, <a href="PC-LISP" title="PC-LISP">PC-LISP</a></li>
<li><a href="Hy_(programming_language)" title="Hy (programming language)">Hy</a></li>
<li><a href="Interlisp" title="Interlisp">Interlisp</a></li>
<li><a href="Knowledge_Engineering_Environment" title="Knowledge Engineering Environment">Knowledge Engineering Environment</a></li>
<li><a href="*Lisp" title="*Lisp">*Lisp</a></li>
<li><a href="LeLisp" class="mw-redirect" title="LeLisp">LeLisp</a></li>
<li><a href="LFE_(programming_language)" title="LFE (programming language)">LFE</a></li>
<li><a href="LISP_2" title="LISP 2">LISP 2</a></li>
<li><a href="Lisp_Machine_Lisp" title="Lisp Machine Lisp">Lisp Machine Lisp</a></li>
<li><a href="Lispkit_Lisp" title="Lispkit Lisp">Lispkit Lisp</a></li>
<li><a href="Maclisp" title="Maclisp">Maclisp</a></li>
<li><a href="MDL_(programming_language)" title="MDL (programming language)">MDL</a></li>
<li><a href="MLisp" title="MLisp">MLisp</a></li>
<li><a href="NewLISP" title="NewLISP">newLISP</a></li>
<li><a href="NIL_(programming_language)" title="NIL (programming language)">NIL</a></li>
<li><a href="PC-LISP" title="PC-LISP">PC-LISP</a></li>
<li><a href="Picolisp" class="mw-redirect" title="Picolisp">Picolisp</a></li>
<li><a href="Portable_Standard_Lisp" title="Portable Standard Lisp">Portable Standard Lisp</a></li>
<li><a href="RPL_(programming_language)" title="RPL (programming language)">RPL</a></li>
<li><a href="S-1_Lisp" title="S-1 Lisp">S-1 Lisp</a></li>
<li><a href="Cadence_SKILL" title="Cadence SKILL">SKILL</a></li>
<li><a href="Spice_Lisp" title="Spice Lisp">Spice Lisp</a></li>
<li><a href="Zetalisp" class="mw-redirect" title="Zetalisp">Zetalisp</a></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Operating_system" title="Operating system">Operating system</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<li><b><a href="Lisp_(programming_language)#Operating_systems" title="Lisp (programming language)">List</a></b></li>
<li><a href="Common_Lisp_Interface_Manager" title="Common Lisp Interface Manager">Common Lisp Interface Manager</a>, <a href="McCLIM" title="McCLIM">McCLIM</a></li>
<li><a href="Genera_(operating_system)" title="Genera (operating system)">Genera</a></li>
<li><a href="Scsh" title="Scsh">Scsh</a></li>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_hardware" title="Computer hardware">Hardware</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Lisp_machine" title="Lisp machine">Lisp machine</a>
<ul><li><a href="TI_Explorer" class="mw-redirect" title="TI Explorer">TI Explorer</a></li></ul></li>
<li><a href="Space-cadet_keyboard" title="Space-cadet keyboard">Space-cadet keyboard</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Community_of_practice" title="Community of practice">Community<br>of practice</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Technical standards</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Scheme_Requests_for_Implementation" title="Scheme Requests for Implementation">Scheme Requests for Implementation</a></li>
<li><a href="Common_Lisp_HyperSpec" title="Common Lisp HyperSpec">Common Lisp HyperSpec</a></li>
<li><a href="X3J13" title="X3J13">X3J13</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Education</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Books</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Common_Lisp_the_Language" title="Common Lisp the Language">Common Lisp the Language</a></li>
<li><a href="How_to_Design_Programs" title="How to Design Programs">How to Design Programs</a> (HTDP)</li>
<li><a href="On_Lisp" title="On Lisp">On Lisp</a></li>
<li><a href="Practical_Common_Lisp" title="Practical Common Lisp">Practical Common Lisp</a></li>
<li><a href="Structure_and_Interpretation_of_Computer_Programs" title="Structure and Interpretation of Computer Programs">Structure and Interpretation of Computer Programs</a> (SICP)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Curriculum</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ProgramByDesign" title="ProgramByDesign">ProgramByDesign</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Organizations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Business</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Apple_Inc." title="Apple Inc.">Apple Computer</a></li>
<li><a href="BBN_Technologies" class="mw-redirect" title="BBN Technologies">Bolt, Beranek and Newman</a></li>
<li><a href="Harlequin_(software_company)" title="Harlequin (software company)">Harlequin</a></li>
<li><a href="Lucid_Inc." title="Lucid Inc.">Lucid Inc.</a></li>
<li><a href="Symbolics" title="Symbolics">Symbolics</a></li>
<li><a href="Xanalys" title="Xanalys">Xanalys</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Education</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">Massachusetts Institute of Technology</a> (MIT)</li>
<li><a href="MIT_Computer_Science_and_Artificial_Intelligence_Laboratory" title="MIT Computer Science and Artificial Intelligence Laboratory">MIT Computer Science and Artificial Intelligence Laboratory</a> (CSAIL)</li>
<li><a href="Stanford_University_centers_and_institutes#Stanford_Artificial_Intelligence_Laboratory" title="Stanford University centers and institutes">Stanford Artificial Intelligence Laboratory</a></li>
<li><a href="University_of_California%2C_Berkeley" title="University of California, Berkeley">University of California, Berkeley</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Edmund_Berkeley" title="Edmund Berkeley">Edmund Berkeley</a></li>
<li><a href="Daniel_G._Bobrow" title="Daniel G. Bobrow">Daniel G. Bobrow</a></li>
<li><a href="William_Clinger_(computer_scientist)" title="William Clinger (computer scientist)">William Clinger</a></li>
<li><a href="R._Kent_Dybvig" title="R. Kent Dybvig">R. Kent Dybvig</a></li>
<li><a href="Matthias_Felleisen" title="Matthias Felleisen">Matthias Felleisen</a></li>
<li><a href="Robert_Bruce_Findler" title="Robert Bruce Findler">Robert Bruce Findler</a></li>
<li><a href="Matthew_Flatt" title="Matthew Flatt">Matthew Flatt</a></li>
<li><a href="Phyllis_Fox" title="Phyllis Fox">Phyllis Fox</a></li>
<li><a href="Paul_Graham_(programmer)" title="Paul Graham (programmer)">Paul Graham</a></li>
<li><a href="Richard_Greenblatt_(programmer)" title="Richard Greenblatt (programmer)">Richard Greenblatt</a></li>
<li>Timothy P. Hart</li>
<li><a href="Louis_Hodes" title="Louis Hodes">Louis Hodes</a></li>
<li>Mike Levin</li>
<li><a href="David_Luckham" title="David Luckham">David Luckham</a></li>
<li><a href="John_McCarthy_(computer_scientist)" title="John McCarthy (computer scientist)">John McCarthy</a></li>
<li><a href="Robert_Tappan_Morris" title="Robert Tappan Morris">Robert Tappan Morris</a></li>
<li><a href="Joel_Moses" title="Joel Moses">Joel Moses</a></li>
<li><a href="David_Park_(computer_scientist)" title="David Park (computer scientist)">David Park</a></li>
<li><a href="Steve_Russell_(computer_scientist)" title="Steve Russell (computer scientist)">Steve Russell</a></li>
<li><a href="Richard_Stallman" title="Richard Stallman">Richard Stallman</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Common_Lisp" title="Common Lisp">Common Lisp</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Scott_Fahlman" title="Scott Fahlman">Scott Fahlman</a></li>
<li><a href="Richard_P._Gabriel" title="Richard P. Gabriel">Richard P. Gabriel</a></li>
<li><a href="Philip_Greenspun" title="Philip Greenspun">Philip Greenspun</a> (<a href="Greenspun's_tenth_rule" title="Greenspun's tenth rule">10th rule</a>)</li>
<li><a href="David_A._Moon" title="David A. Moon">David A. Moon</a></li>
<li><a href="Kent_Pitman" title="Kent Pitman">Kent Pitman</a></li>
<li><a href="Guy_L._Steele_Jr." title="Guy L. Steele Jr.">Guy L. Steele Jr.</a></li>
<li><a href="Daniel_Weinreb" title="Daniel Weinreb">Daniel Weinreb</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Matthias_Felleisen" title="Matthias Felleisen">Matthias Felleisen</a></li>
<li><a href="Shriram_Krishnamurthi" title="Shriram Krishnamurthi">Shriram Krishnamurthi</a></li>
<li><a href="Guy_L._Steele_Jr." title="Guy L. Steele Jr.">Guy L. Steele Jr.</a></li>
<li><a href="Gerald_Jay_Sussman" title="Gerald Jay Sussman">Gerald Jay Sussman</a></li>
<li><a href="Julie_Sussman" class="mw-redirect" title="Julie Sussman">Julie Sussman</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Logo_(programming_language)" title="Logo (programming language)">Logo</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hal_Abelson" title="Hal Abelson">Hal Abelson</a></li>
<li><a href="Denison_Bollay" title="Denison Bollay">Denison Bollay</a></li>
<li><a href="Wally_Feurzeig" title="Wally Feurzeig">Wally Feurzeig</a></li>
<li><a href="Brian_Harvey_(lecturer)" title="Brian Harvey (lecturer)">Brian Harvey</a></li>
<li><a href="Seymour_Papert" title="Seymour Papert">Seymour Papert</a></li>
<li><a href="Mitchel_Resnick" title="Mitchel Resnick">Mitchel Resnick</a></li>
<li><a href="Cynthia_Solomon" title="Cynthia Solomon">Cynthia Solomon</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="POP-11" title="POP-11">POP</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Rod_Burstall" title="Rod Burstall">Rod Burstall</a></li>
<li><a href="Robin_Popplestone" title="Robin Popplestone">Robin Popplestone</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><span class="noviewer" typeof="mw:File"><span title="List-Class article"></span></span> <b><a href="List_of_Lisp-family_programming_languages" title="List of Lisp-family programming languages">List</a></b> <span class="noviewer" typeof="mw:File"></span> <b><a href="https://en.wikibooks.org/wiki/Subject:Lisp_programming_language" class="extiw external" title="wikibooks:Subject:Lisp programming language">Books</a></b> <span class="noviewer" typeof="mw:File"><span title="Commons page"></span></span> <b><a href="https://commons.wikimedia.org/wiki/Category:Lisp_(programming_language)" class="extiw external" title="commons:Category:Lisp (programming language)">Commons</a></b> <span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category</b> <span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category</b></div></td></tr></tbody></table></div>
<table class="toccolours" style="font-size:88%">
<caption style="font-size:112%"><style data-mw-deduplicate="TemplateStyles:r1045256916">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar-header{text-align:center;position:relative;white-space:nowrap}.mw-parser-output .navbar-header .navbar{position:absolute;right:0;top:0;margin:0 5px}


/* end https://en.wikipedia.org/ */
</style><div class="navbar-header">Timeline of Lisp dialects</div>
</caption>
<tbody><tr style="background:lavender;">
<th width="7%">1958
</th>
<th width="7%">1960
</th>
<th width="7%">1965
</th>
<th width="7%">1970
</th>
<th width="7%">1975
</th>
<th width="7%">1980
</th>
<th width="7%">1985
</th>
<th width="7%">1990
</th>
<th width="7%">1995
</th>
<th width="7%">2000
</th>
<th width="7%">2005
</th>
<th width="7%">2010
</th>
<th width="8%">2015
</th>
<th width="8%">2020
</th></tr>
<tr>
<th align="left" colspan="3" style="background:lightgray">&nbsp;LISP 1, 1.5, <a href="LISP_2" title="LISP 2">LISP 2<sup>(abandoned)</sup></a>
</th>
<td colspan="10">
</td></tr>
<tr>
<td colspan="2">
</td>
<th align="left" colspan="5" style="background:lightgray">&nbsp;<a href="Maclisp" title="Maclisp">Maclisp</a>
</th>
<td colspan="6">
</td></tr>
<tr>
<td colspan="3">
</td>
<th align="left" colspan="5" style="background:lightgray">&nbsp;<a href="Interlisp" title="Interlisp">Interlisp</a>
</th>
<td colspan="5">
</td></tr>
<tr>
<td colspan="3">
</td>
<th align="left" colspan="2" style="background:lightgray">&nbsp;<a href="MDL_(programming_language)" title="MDL (programming language)">MDL</a>
</th>
<td colspan="5">
</td></tr>
<tr>
<td colspan="4">
</td>
<th align="left" colspan="5" style="background:lightgray">&nbsp;<a href="Lisp_Machine_Lisp" title="Lisp Machine Lisp">Lisp Machine Lisp</a>
</th>
<td colspan="4">
</td></tr>
<tr>
<td colspan="4">
</td>
<th align="left" colspan="4" style="background:lightgray">&nbsp;<a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>
</th>
<th align="left" colspan="2" style="background:lightgray">&nbsp;R5RS
</th>
<th align="left" colspan="1" style="background:lightgray">&nbsp;R6RS
</th>
<th align="left" colspan="3" style="background:lightgray">&nbsp;R7RS small
</th></tr>
<tr>
<td colspan="4">
</td>
<th align="left" colspan="2" style="background:lightgray">&nbsp;<a href="NIL_(programming_language)" title="NIL (programming language)">NIL</a>
</th></tr>
<tr>
<td colspan="5">
</td>
<th align="left" colspan="2" style="background:lightgray">&nbsp;<a href="Z-machine#ZIL_(Zork_Implementation_Language)" title="Z-machine">ZIL (Zork Implementation Language)</a>
</th></tr>
<tr>
<td colspan="5">
</td>
<th align="left" colspan="2" style="background:lightgray">&nbsp;<a href="Franz_Lisp" title="Franz Lisp">Franz Lisp</a>
</th></tr>
<tr>
<td colspan="5">
</td>
<th align="left" colspan="6" style="background:lightgray">&nbsp;muLisp
</th></tr>
<tr>
<td colspan="5">
</td>
<th align="left" colspan="2" style="background:lightgray">&nbsp;<a href="Common_Lisp" title="Common Lisp">Common Lisp</a>
</th>
<th align="left" colspan="7" style="background:lightgray">&nbsp;ANSI standard
</th></tr>
<tr>
<td colspan="5">
</td>
<th align="left" colspan="9" style="background:lightgray">&nbsp;<a href="Le_Lisp" title="Le Lisp">Le Lisp</a>
</th></tr>
<tr>
<td colspan="5">
</td>
<th align="left" colspan="11" style="background:lightgray">&nbsp;<a href="MIT_Scheme" class="mw-redirect" title="MIT Scheme">MIT Scheme</a>
</th></tr>
<tr>
<td colspan="5">
</td>
<th align="left" colspan="4" style="background:lightgray">&nbsp;<a href="XLISP" title="XLISP">XLISP</a>
</th></tr>
<tr>
<td colspan="6">
</td>
<th align="left" colspan="3" style="background:lightgray">&nbsp;<a href="T_(programming_language)" title="T (programming language)">T</a>
</th>
<td colspan="4">
</td></tr>
<tr>
<td colspan="6">
</td>
<th align="left" colspan="8" style="background:lightgray">&nbsp;<a href="Chez_Scheme" title="Chez Scheme">Chez Scheme</a>
</th></tr>
<tr>
<td colspan="6">
</td>
<th align="left" colspan="8" style="background:lightgray">&nbsp;<a href="Emacs_Lisp" title="Emacs Lisp">Emacs Lisp</a>
</th></tr>
<tr>
<td colspan="6">
</td>
<th align="left" colspan="8" style="background:lightgray">&nbsp;<a href="AutoLISP" title="AutoLISP">AutoLISP</a>
</th></tr>
<tr>
<td colspan="6">
</td>
<th align="left" colspan="8" style="background:lightgray">&nbsp;<a href="PicoLisp" title="PicoLisp">PicoLisp</a>
</th></tr>
<tr>
<td colspan="6">
</td>
<th align="left" colspan="8" style="background:lightgray">&nbsp;<a href="Gambit_(Scheme_implementation)" title="Gambit (Scheme implementation)">Gambit</a>
</th></tr>
<tr>
<td colspan="7">
</td>
<th align="left" colspan="6" style="background:lightgray">&nbsp;<a href="EuLisp" title="EuLisp">EuLisp</a>
</th></tr>
<tr>
<td colspan="7">
</td>
<th align="left" colspan="8" style="background:lightgray">&nbsp;<a href="ISLISP" title="ISLISP">ISLISP</a>
</th></tr>
<tr>
<td colspan="7">
</td>
<th align="left" colspan="8" style="background:lightgray">&nbsp;<a href="OpenLisp" title="OpenLisp">OpenLisp</a>
</th></tr>
<tr>
<td colspan="7">
</td>
<th align="left" colspan="4" style="background:lightgray">&nbsp;<a href="PLT_Scheme" class="mw-redirect" title="PLT Scheme">PLT Scheme</a>
</th>
<th align="left" colspan="3" style="background:lightgray">&nbsp;
</th></tr>
<tr>
<td colspan="7">
</td>
<th align="left" colspan="7" style="background:lightgray">&nbsp;<a href="NewLISP" title="NewLISP">newLISP</a>
</th></tr>
<tr>
<td colspan="7">
</td>
<th align="left" colspan="7" style="background:lightgray">&nbsp;<a href="GNU_Guile" title="GNU Guile">GNU Guile</a>
</th></tr>
<tr>
<td colspan="9">
</td>
<th align="left" colspan="5" style="background:lightgray">&nbsp;<a href="AutoLISP" title="AutoLISP">Visual LISP</a>
</th></tr>
<tr>
<td colspan="10">
</td>
<th align="left" colspan="4" style="background:lightgray">&nbsp;<a href="Clojure" title="Clojure">Clojure</a>
</th></tr>
<tr>
<td colspan="10">
</td>
<th align="left" colspan="4" style="background:lightgray">&nbsp;<a href="Arc_(programming_language)" title="Arc (programming language)">Arc</a>
</th></tr>
<tr>
<td colspan="10">
</td>
<th align="left" colspan="4" style="background:lightgray">&nbsp;<a href="LFE_(programming_language)" title="LFE (programming language)">LFE</a>
</th></tr>
<tr>
<td colspan="11">
</td>
<th align="left" colspan="3" style="background:lightgray">&nbsp;<a href="Hy_(programming_language)" title="Hy (programming language)">Hy</a>
</th></tr>
</tbody></table>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1038841319">
/* start https://en.wikipedia.org/ */


.mw-parser-output .tooltip-dotted{border-bottom:1px dotted;cursor:help}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox authority-control" aria-labelledby="Authority_control_databases_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q1254148#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata1106" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Authority_control_databases_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q1254148#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata1106" style="font-size:114%;margin:0 4em">Authority control databases </div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">International</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.worldcat.org/fast/1895157">FAST</a></span></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">National</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/1050209265">Germany</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/sh2013000901">United States</a></span></li><li><span class="uid"><span class="rt-commentedText tooltip tooltip-dotted" title="Racket (programovací jazyk)"><a rel="nofollow" class="external text" href="https://aleph.nkp.cz/F/?func=find-c&amp;local_base=aut&amp;ccl_term=ica=ph903883&amp;CON_LNG=ENG">Czech Republic</a></span></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.nli.org.il/en/authorities/987007568232505171">Israel</a></span></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://lux.collections.yale.edu/view/concept/e2d21b72-d842-41ae-a162-eb5eceb0c4fb">Yale LUX</a></span></li></ul></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-21" href="https://en.wikipedia.org/wiki/?title=Racket_(programming_language)&amp;oldid=1301711160">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>